Battery state and parameter estimation using a mixed sigma-point kalman filtering and recursive least squares technique

ABSTRACT

A battery management system for an electrified powertrain of a hybrid vehicle includes one or more sensors configured to measure voltage, current, and temperature for a battery system of the hybrid vehicle and a controller. The controller is configured to obtain an equivalent circuit model for the battery system, determine a set of states for the battery system to be estimated, determine a set of parameters for the battery system to be estimated, receive, from the sensor(s), the measured voltage, current, and temperature for the battery system, using the equivalent circuit model and the measured voltage, current, and temperature of the battery system, estimate the sets of states and parameters for the battery system using a mixed sigma-point Kalman filtering (SPKF) and recursive least squares (RLS) technique, and using the sets of estimated states/parameters for the battery system, control an electric motor of the electrified vehicle.

FIELD

The present application generally relates to a battery management system for an electrified powertrain of a hybrid vehicle.

BACKGROUND

Some hybrid vehicles include an electrified powertrain comprising an electric motor that is powered by a battery system. Such hybrid vehicles include battery electric vehicles (BEV), plug-in hybrid electric vehicles (PHEV), and the like. These hybrid vehicles include battery management systems (BMS) configured to monitor the battery system. This monitoring typically includes estimating states of the battery system (state of charge (SOC), voltages, etc.) and parameters of the battery system (resistances, time constants, etc.).

These states and parameters are also utilized to determine other states/parameters, such as the state of power (SOP) of the battery system and/or the state of health (SOH) of the battery system. Linear models are often used for this state/parameter estimation, but these models are typically inaccurate. Non-linear models could be used instead, but these models are typically difficult to tune. Accordingly, while such BMS work for their intended purpose, there remains a need for improvement in the relevant art.

SUMMARY

According to an aspect of the invention, a battery management system for an electrified powertrain of a hybrid vehicle is presented. In one exemplary implementation, the system includes one or more sensors configured to measure voltage, current, and temperature for a battery system of the hybrid vehicle and a controller configured to: obtain an equivalent circuit model for the battery system; determine a set of states for the battery system to be estimated; determine a set of parameters for the battery system to be estimated; receive, from the one or more sensors, the measured voltage, current, and temperature for the battery system; and using the equivalent circuit model and the measured voltage, current, and temperature of the battery system, estimate the sets of states and parameters for the battery system using a mixed sigma-point Kalman filtering (SPKF) and recursive least squares (RLS) technique; and using the sets of estimated states/parameters for the battery system, control an electric motor of the electrified vehicle.

In some implementations, the controller is configured to estimate: the set of states for the battery system using an SPKF technique; and the set of parameters for the battery system using an RLS technique. In some implementations, the controller is further configured to estimate: the set of parameters for the battery system estimated using the RLS technique are an input for the SPKF technique; and the set of states for the battery system estimated using the SPKF technique are an input for the RLS technique. In some implementations, the set of states includes at least one of a state of charge (SOC) of the battery system and a voltage of the battery system.

In some implementations, the SPKF technique and the RLS technique are both configured to estimate a particular state or parameter for the battery system, and wherein the controller is configured to estimate the particular state or parameter of the battery system based on at least one of these estimates. In some implementations, the controller is further configured to calculate a covariance indicative of a confidence in each estimate of the particular state or parameter for the battery system, wherein the controller is configured to utilize the covariance in estimating the particular state or parameter of the battery system. In some implementations, the controller is configured to estimate the particular state or parameter for the battery system based on an average of the estimates from the SPKF and RLS techniques.

In some implementations, the controller is configured to estimate the set of parameters for the battery system using the RLS technique based further on a tuned forgetting factor. In some implementations, the set of parameters includes at least one of a resistance and a charge/discharge time constant for the battery system. In some implementations, the equivalent circuit model is an asymmetric equivalent circuit model having charge/discharge asymmetry.

In some implementations, the controller is further configured to: obtain an SPKF rate at which to perform the SPKF technique; obtain an RLS rate at which to perform the RLS technique; and estimate the sets of states and parameters for the battery system using the SPKF and RLS techniques according to their respective rates. In some implementations, the SPKF rate is greater than the RLS rate.

In some implementations, the controller is further configured to estimate at least one of a state of power (SOP) and a state of health (SOH) for the battery system based on the sets of estimated states and parameters. In some implementations, the controller is configured to control the electric motor based further on the at least one of the SOP and the SOH for the battery system. In some implementations, the hybrid vehicle comprises an engine; and the controller is configured to coordinate control of the engine and the electric motor based on the estimated states/parameters to maximize usage of the electric motor.

Further areas of applicability of the teachings of the present disclosure will become apparent from the detailed description, claims and the drawings provided hereinafter, wherein like reference numerals refer to like features throughout the several views of the drawings. It should be understood that the detailed description, including disclosed embodiments and drawings referenced therein, are merely exemplary in nature intended for purposes of illustration only and are not intended to limit the scope of the present disclosure, its application or uses. Thus, variations that do not depart from the gist of the present disclosure are intended to be within the scope of the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram of an example hybrid vehicle according to the principles of the present disclosure;

FIG. 2 is a functional block diagram of an example configuration for a controller of the hybrid vehicle according to the principles of the present disclosure;

FIG. 3 is an example equivalent circuit model for a battery system of the hybrid vehicle according to the principles of the present disclosure;

FIG. 4A is a functional block diagram of a first example architecture of a mixed sigma-point Kalman filtering (SPKF) and recursive least squares (RLS) technique according to the principles of the present disclosure; and

FIG. 4B is a flow diagram of a first example method of estimating battery system states/parameters according to the principles of the present disclosure;

FIG. 5A is a functional block diagram of a second example architecture of the mixed SPKF-RLS technique according to the principles of the present disclosure; and

FIG. 5B is a flow diagram of a second example method of estimating battery system states/parameters according to the principles of the present disclosure.

DETAILED DESCRIPTION

As previously mentioned, there remains a need for an accurate and easily tunable battery management system (BMS). Battery state and parameter estimation performance could be improved by updating battery model parameters online. Conventional Kalman filter-type methods (e.g., extended Kalman filtering, or EKF) utilize linear battery models. To further improve estimation performance, however, the non-linearities in the battery model could be handled by the estimation algorithms. Accordingly, an improved BMS and an improved battery state and parameter estimation technique utilizing mixed sigma-point Kalman filtering (SPKF) and recursive least squares (RLS) are presented. SPKF estimates states of the battery system (state-of-charge (SOC), voltage, etc.) and is paired with recursive least squares (RLS) to achieve parameter identification of the equivalent circuit model parameters.

SPKF provides much better performance than other similar techniques (e.g., EKF using a first order Taylor extension to linearize non-linear functions to deal with the non-linearity), particularly when dealing with a non-linear model. Due to the difficulty of modeling process noise tuning of Kalman filter-type methods, including SPKF, RLS represents a good alternative to estimate such parameters since it uses a linear-in-parameter measurement only model filter structure and a single tunable filter variable. Other benefits include charge/discharge asymmetry, non-linear hysteresis, self-discharge, non-linear resistance terms, multi-scaling (see below), and state/parameter estimated mixing/blending (e.g., when RLS and SPKF both estimate the same term). In other words, the advantages of SPKF and RLS are used to compensate for each other's disadvantages.

Example advantages include the robustness and accuracy of SOC estimation capability from SPKF and efficient on-line batter internal parameter estimation capability from RLS that are then used for SOP estimation. In some implementations, the mixed SPKF-RLS technique could be multi-scaled by assuming that battery system parameters remain constant during short time intervals. More particularly, parameter estimations using RLS could be performed on a macro (slow) time scale, whereas state estimations using SPKF could be performed on a micro (fast) time scale. The benefits of the mixed SKPF-RLS technique include, but are not limited to, reducing overall size of the battery system and reducing system cost (e.g., easier tuning/calibration), as well as increased performance and operational life of the battery system due to increased robustness. For example, these techniques could be particularly useful in highly dynamic driving situations.

Referring now to FIG. 1, an example vehicle 100 is illustrated. In one exemplary implementation, the vehicle 100 is a hybrid vehicle. Non-limiting examples of the vehicle 100 include an electric vehicle (EV), a hybrid electric vehicle (HEV), a plug-in HEV (PHEV), and an extended range electric vehicle (EREV). It will be appreciated, however, that the techniques of the present disclosure could be extended to any vehicle including a battery system. The vehicle 100 includes an electrified powertrain 104 configured to generate torque for a drivetrain 108 to propel the vehicle 100. The electrified powertrain 104 includes an electric motor 112 and a battery system 116. The vehicle 100 optionally includes an engine 120, which could be used, for example, for recharging the battery system 116 and/or for generating the torque for the drivetrain 108. The torque could be generated in response to a torque request received via a driver interface 124.

The battery system 116 is any suitable battery system configured to generate a current to power the electric motor 112. In one exemplary implementation, the battery system 116 includes a plurality of lithium-ion (Li-ion) batteries connected together. The battery system 116 has one or more sensors 128 associated therewith, which are configured to measure current, voltage, and temperature of the battery system 116. A controller 132 is configured to receive these measurements and control the electric motor 112 based on estimated states/parameters of the battery system 116. The controller 132 is also configured to output information to the driver interface (SOC percentage, vehicle range, etc.). Examples of the controller 132 include an application-specific integrated circuit (ASIC) and one or more processors operating in a parallel or distributed architecture plus a non-transitory computer-readable medium (memory) having a set of instructions stored thereon for execution by the processor(s). While a single controller 132 is shown, it will be appreciated that the vehicle 100 could include multiple controllers, such as a battery management system controller that performs the functionality herein and communicates with another controller, such as an engine control unit (ECU).

Referring now to FIG. 2, a functional block diagram of an example configuration of the controller 132 is illustrated. The controller 132 receives information as input from the one or more sensors 128. In one exemplary implementation, this information includes voltage V, current I, and temperature T of the battery system 116. It will be appreciated that more or less information could be received from the sensor(s) 128, such as only voltage and current. Both an SPKF module 200 and an RLS module 204 are configured to receive and utilize at least some of these inputs. The SPKF module 200 is configured to perform an SPKF technique as discussed herein. The RLS module 204 is configured to perform an RLS technique as discussed herein. In one exemplary implementation, these modules 200, 204 are further configured to utilize the outputs of the other module as additional inputs.

Example outputs of the SPKF module 200 include SOC and voltages (referred to generally as V). Example outputs of the RLS module 204 include resistances, capacitances, and time constants (referred to generally as R, C, and τ, respectively). The outputs of these modules 200, 204 are utilized by an SOH/SOP estimator 208 to estimate at least one of SOH and SOP for the battery system 116. The estimated states output by the SOH/SOP estimator 208, and potentially other states output by the SPKF module 200, are then utilized by a motor control module 212, which is configured to control the electric motor 116. For example only, the SOP could be utilized by the motor control module 212 to maximize usage of the electric motor 116 or, in other words, to use the electric motor 116 as much as possible to generate the desired vehicle torque instead of engine 120. While not shown, it will be appreciated that at least some of these states could be output to other components, such as a malfunction indicator lamp (e.g., when the SOH is lower than a critical threshold) or to the driver interface 124 (e.g., to indicate a vehicle range corresponding to the SOC).

Referring now to FIG. 3 and with continued reference to FIG. 2, an equivalent circuit model 300 for a particular cell of the battery system 116 is illustrated. While described with respect to a particular cell, it will be appreciated that the model could be extended to model the entire battery system 116 of the techniques discussed herein could be repeated for each cell of the battery system 116. V and I represent voltage and current for the particular cell. V_(O) represents an open circuit voltage, which is also expressed as a sum of a component V_(SOC) dependent on the SOC (hereinafter z, where V_(SOC)=f(z)) and a voltage V_(Cvo) associated with a self-discharge capacitance C_(Vo), which is a non-linear function of capacitor voltage. R_(SD) represents a large self-discharge resistance and v_(h) represents a hysteresis voltage, e.g., a unitless state value between −1 and 1 to represent dynamics of one-state hysteresis. Hysteresis voltage can be modelled as either zero state or one state hysteresis. Zero state hysteresis is modeled as:

V _(h) =V _(h) ^(max) *sgn(I)   (1),

where V_(h) ^(max) is a maximum hysteresis magnitude, and I is current. One state hysteresis, on the other hand, is modelled as:

$\begin{matrix} {V_{h} = {V_{h}^{\max} \star v_{h}}} & (2) \\ {and} & \; \\ {{\frac{{dv}_{h}}{dt} = {{- \gamma_{h}}{I \cdot \left( {{{{sgn}(I)} \star v_{h}} + 1} \right)}}},} & (3) \end{matrix}$

where v_(h) is a dynamically varying hysteresis voltage state and γ_(h) is a one-state hysteresis gain factor.

The model 200 further defines n RC pairs having respective dynamic resistances R₁ . . . R_(n), capacitances C₁ . . . C_(n), and voltages V₁ . . . V_(n). R₀ ^(d) represents an ohmic discharge resistance and R₀ ^(c) represents an ohmic charge resistance. These ohmic/dynamic charge/discharge resistances and capacitances are variable and are generally dependent on SOC, temperature, current direction and current magnitude. For example, the ohmic/dynamic charge/discharge resistances could have non-linear forms such as:

R _(i) ^(c) =R _(i) ^(0,c) +R _(i) ^(1,c)*log (1+|I|)   (4)

and

R _(i) ^(c) =R _(i) ^(0,d) +R _(i) ^(1,c)*log (1+|I|)   (5),

where i is a subscript value from 0 to n, R_(i) ^(1,c), R_(i) ^(1,d) are charge/discharge resistance values at zero current, and R_(i) ^(1,c), R_(i) ^(1,d) are charge/discharge non-linear resistance values. The usage of non-linear resistance models the battery response more accurately, particularly at lower temperatures (e.g., below zero degrees Celsius). These resistance values are commonly used to calculate and define resistance based on state of health (SOH), which could also be referred to as SOHR. Calculation of state of power (SOP) heavily relies on resistance estimation, since a higher battery resistance results in lower battery power availability.

The term “state” as used herein refers to an overall state of the battery system (charge, health, power, etc.) as well as a voltages of the battery system 116. Examples of the possible estimated states of the battery system 116 include V_(i) (the voltage for the i^(th) RC pair, i being an integer from 0 to n, which represents the model order and could be arbitrarily high), V_(Cvo), z, V_(SOC), V_(O), and v_(h). The term “parameter,” on the other hand, refers to internal parameters of the battery system 116 (resistances, capacitances, charge/discharge time constants, etc.), such as with respect to the equivalent circuit model. Examples of the possible estimated parameters of the battery system 116 include R₀ ^(d), R₀ ^(c), R_(SD), C_(i) (the capacitance for the i^(th) RC pair), R_(i) (the resistance for the i^(th) RC pair), and C_(Vo), as well as the maximum magnitude of the hysteresis voltage V_(h) ^(max) and the one-state hysteresis gain γ_(h). Further examples of the possible estimated parameters of the battery system 116 include, for the i^(th) RC pair: linear ohmic discharge resistance R₀ ^(0,d), linear ohmic charge resistance R₀ ^(0,d), non-linear ohmic discharge resistance R₀ ^(1,d), non-linear ohmic charge resistance R₀ ^(1,d), dynamic RC discharge resistance R_(i) ^(0,d), dynamic RC charge resistance R_(i) ^(0,d), linear dynamic RC discharge resistance R_(i) ^(1,d), linear dynamic RC charge resistance _(i) ^(1,d), non-linear dynamic RC discharge resistance R_(i) ^(1,d), non-linear dynamic RC charge resistance R_(i) ^(1,d), charge capacitance C_(i) ^(c), discharge capacitance C_(i) ^(d), time constant τ_(i), charge time constant τ_(i) ^(c), and discharge time constant τ_(i) ^(d).

A non-linear state-space model for the battery system 116 is:

x _(k) =f(x _(k−1) , u _(k−1), Θ_(k−1) , k−1)+v _(k) y _(k) =h(x _(k) , u _(k), Θ_(k) , k)+w _(k)   (6),

where v_(k) and W_(k) each represent an independent, Gaussian noise process and follow Gaussian distributions N(0,Q) and N(0,R), respectively; x_(k), Θ_(k), u_(k), and y_(k) represent state, parameter, input, and state estimation output of the model at time k; and f and h represent non-linear functions of a state process model and a measurement model, respectively. The parameter's model, on the other hand, is:

d _(k) =c _(k) ^(T)Θ_(k)+ω_(k)   (7),

where ω_(k) represents an independent, Gaussian noise process and follows Gaussian distribution N(0,W), d_(k) represents state, parameter, input, and state estimation output of the model at time k, and c_(k) ^(T)ε

^(n) is a regression vector composed of known/measurable quantities. RLS aims to find, recursively in time, an estimate of θ_(k) that minimizes the following sum of squared errors:

E(k)=Σ_(i=1) ^(k)μ^(k−1) [d _(i) −c _(i) ^(T)Θ_(k)]²   (8),

where 0<λ<1 is a forgetting factor that diminishes the influence of old data.

In one exemplary implementation, the SPKF module 200 estimates SOC and RC pair voltage. If state of the model is x_(k)=[z_(k), V_(1,k)]^(T), then the state-space model is:

$\begin{matrix} {x_{k} = {{f\left( {x_{k\text{-}1},u_{k\text{-}1},\theta_{k\text{-}1},{k - 1}} \right)} + v_{k\text{-}1}}} & (9) \\ {{\begin{bmatrix} z_{k} \\ V_{1,k} \end{bmatrix} = {\begin{bmatrix} {z_{k - 1} - \frac{T_{s} \cdot I_{k\text{-}1}}{Capa}} \\ {{\varphi_{1,{k\text{-}1}}V_{1,{k - 1}}} + {{R_{1,{k\text{-}1}}\left( {1 - \varphi_{1k\text{-}1}} \right)}I_{k\text{-}1}}} \end{bmatrix} + v_{k}}},} & \; \\ {y_{k} = {{V_{o,k}\left( z_{k} \right)} - {R_{o,k}I_{k}} - V_{1,k} + w_{k}}} & \; \end{matrix}$

where z_(k) represents SOC at time k and

${\varphi_{1,k} = {\exp \left( {- \frac{Ts}{\tau_{1,k}}} \right)}},{\tau_{1,k} = {R_{1,k}{C_{1,k}.}}}$

In one exemplary implementation, the RLS module 204 estimates internal resistance R_(o,k), resistance in RC pair R_(1,k) and time constant in RC pair τ_(k). Battery SOH and SOHR can be calculated by module 208 using an equation based on both R_(o,k) and R_(1,k). The elements to be fed into the RLS module 204 are selected as follows:

d _(k) =c _(k) ^(T)Θ_(k)+ω_(k)   (7),

c _(k) =[V _(o,k−1) −V _(k−1) , I _(k−1) , I _(k)]^(T)   (11).

The measurement term of the RLS technique is:

$\begin{matrix} {\begin{matrix} {d_{k} = {V_{o,k} - V_{k} + {\overset{\_}{\omega}}_{k}}} \\ {= {V_{1,k} + {I_{k}R_{o,k}} + {\overset{\_}{\omega}}_{k}}} \\ {= {{\varphi_{1,{k - 1}}V_{1,{k\text{-}1}}} + {{R_{a,{k\text{-}1}}\left( {1 - \varphi_{1,{k\text{-}1}}} \right)}I_{k\text{-}1}} + {I_{k}R_{o,k}} + {\overset{\_}{\omega}}_{k}}} \\ {= {{\varphi_{1,{k - 1}}\left( {{V_{o,{k\text{-}1}}V_{k - 1}} - {I_{k - 1}R_{o,{k - 1}}}} \right)} + {{R_{a,{k - 1}}\left( {1 - \varphi_{1,{k - 1}}} \right)}I_{k - 1}} + {I_{k}R_{o,k}} + {\overset{\_}{\omega}}_{k}}} \\ {= {{\varphi_{1,{k - 1}}\left( {V_{o,{k - 1}} - V_{k - 1}} \right)} + {\left( {{R_{a,{k - 1}}\left( {1 - \varphi_{1,{k - 1}}} \right)} - {R_{o,{k - 1}}\varphi_{1,{k - 1}}}} \right\rbrack I_{k - 1}} + {I_{k}R_{o,k}} + {\overset{\_}{\omega}}_{k}}} \\ {= {{{c_{k}}^{T}\theta_{k}} + {\overset{\_}{\omega}}_{k}}} \end{matrix}.} & (12) \end{matrix}$

The open circuit voltage of the battery model V_(o,k), will be updated using look-up table and SOC z_(k). Considering that high calculation frequency is utilized and parameters don't change very fast, it is assumed that all the parameters at the time (k−1) can be taken as the parameters at time k. Then they can be calculated by the result of RLS technique as follows:

$\begin{matrix} \left\{ {\begin{matrix} {\tau_{1,k} = {- \frac{T_{s}}{\ln \left\lbrack {\theta_{k}(1)} \right\rbrack}}} \\ {R_{1,k} = \frac{{\theta_{k}(2)} + {{\theta_{k}(1)}{\theta_{k}(3)}}}{1 - {\theta_{k}(1)}}} \\ {R_{o,k} = {\theta_{k}(3)}} \end{matrix}.} \right. & (13) \end{matrix}$

In one exemplary implementation, the forgetting factor λ is 0.99.

Referring now to FIG. 4A, a functional block diagram of a first example architecture 400 for the mixed SPKF-RLS technique is illustrated. This architecture 400 represents a single time scale version of the SPKF-RLS technique and thus may also be referred to as a mixed or dual SPKF-RLS technique. The architecture generally includes SPKF and RLS time update blocks 404 and 408, respectively, SPKF and RLS measurement update blocks 412 and 416, respectively, and respective unit delays 420, 424. The equation details for the architecture 400 are listed below. In one exemplary implementation, block 404 executes equations (15)-(16), block 408 executes equations (17)-(18), block 412 executes equations (19)-(20), (23), and (25), and block 416 executes equations (21)-(22), (24), and (26).

$\begin{matrix} \begin{matrix} {{{{Initialization}\text{:}\mspace{14mu} {for}\mspace{14mu} k} = 0},{set}} & \begin{matrix} \begin{matrix} {{{\hat{\theta}}_{0}^{+} = {E\left\lbrack \theta_{0} \right\rbrack}},{{\hat{x}}_{0}^{+} = {E\left\lbrack x_{0} \right\rbrack}}} \\ {\sum_{\overset{\sim}{x},0}^{+}{= {E\left\lbrack {\left( {x_{0} - {\hat{x}}_{0}^{+}} \right)\left( {x_{0} - {\hat{x}}_{0}^{+}} \right)^{T}} \right\rbrack}}} \end{matrix} \\ {\sum_{\overset{\sim}{\theta},0}^{+}{= {E\left\lbrack {\left( {\theta_{0} - {\hat{\theta}}_{0}^{+}} \right)\left( {\theta_{0} - {\hat{\theta}}_{0}^{+}} \right)^{T}} \right\rbrack}}} \end{matrix} \end{matrix} & (14) \\ {{State}\mspace{14mu} {prediction}\left\{ \begin{matrix} {_{k\text{-}1}^{+} = \left\{ {x_{k\text{-}1}^{+},{x_{k\text{-}1}^{+} + {\gamma \left( \sqrt{\sum_{x,{k\text{-}1}}^{+}} \right)}_{1{st}}},\ldots \mspace{14mu},{{\hat{x}}_{k\text{-}1}^{+} + {\gamma \left( \sqrt{\sum_{x,{k\text{-}1}}^{+}} \right)}_{pth}},{x_{k\text{-}1}^{+} -}} \right.} \\ \left. \mspace{146mu} {{\gamma \left( \sqrt{\sum_{x,{k\text{-}1}}^{+}} \right)}_{1{st}},\ldots \mspace{14mu},{x_{k\text{-}1}^{+} - {\gamma \left( \sqrt{\sum_{x,{k\text{-}1}}^{+}} \right)}_{pth}}} \right\} \\ {_{k,i}^{+} = {f\left( {_{{k\text{-}1},i}^{+},{\hat{\theta}}_{k\text{-}1}^{+},{{u_{k\text{-}1}k} - 1}} \right)}} \\ {{\hat{x}}_{k}^{-} = {\sum_{i = 0}^{2\mspace{11mu} p}{a_{i}^{(m)}_{k,j}^{x, -}}}} \end{matrix} \right.} & (15) \\ {{{State}\mspace{14mu} {prediction}\mspace{14mu} {covariance}\mspace{14mu} \sum_{\overset{\sim}{x},k}^{-}} = {{\sum_{i = 0}^{2p}{{\alpha_{i}^{(c)}\left( {_{k,i}^{x, -} - {\hat{x}}_{k}^{-}} \right)}\left( {_{k,i}^{x, -} - {\hat{x}}_{k}^{-}} \right)^{T}}} + Q}} & (16) \\ {{{Parameter}\mspace{14mu} {prediction}\mspace{14mu} {\hat{\theta}}_{k}^{-}} = {\hat{\theta}}_{k\text{-}1}^{+}} & (17) \\ {{{Parameter}\mspace{14mu} {prediction}\mspace{14mu} {covariance}\sum_{\overset{\sim}{\theta},k}^{-}} = \sum_{\overset{\sim}{\theta},{k - 1}}^{+}} & (18) \\ {{State}\mspace{14mu} {measurement}\mspace{14mu} {prediction}\left\{ \begin{matrix} {Y_{k,i} = {h\left( {_{k,i}^{, -},u_{k},{\hat{\theta}}_{k}^{-},k} \right)}} \\ {{\hat{y}}_{k} = {\sum\limits_{i = 0}^{2p}{\alpha_{i}^{(m)}Y_{k,i}}}} \end{matrix} \right.} & (19) \\ {{State}\mspace{14mu} {filter}\mspace{14mu} {gain}\left\{ \begin{matrix} {\sum_{\overset{.}{y},k}{= {{\sum_{i = 0}^{2p}{{\alpha_{i}^{(c)}\left( {Y_{k,i} - {\hat{y}}_{k}} \right)}\left( {Y_{k,i} - {\hat{y}}_{k}} \right)^{T}}} + R}}} \\ {\sum_{\overset{\sim}{xy},k}{= {\sum_{i = 0}^{2p}{{\alpha_{i}^{(c)}\left( {_{k,i}^{x, -} - {\hat{x}}_{k}^{-}} \right)}\left( {Y_{k,i} - {\hat{y}}_{k}} \right)^{T}}}}} \\ {L_{k}^{x} = {\sum_{\overset{\sim}{xy},k}\sum_{\overset{\sim}{y},k}^{- 1}}} \end{matrix} \right.} & (20) \\ {{{Parameter}\mspace{14mu} {measurement}\mspace{14mu} {prediction}\mspace{14mu} {\hat{d}}_{k}} = {c_{k}^{T}{\hat{\theta}}_{k}^{-}}} & (21) \\ {{{Parameter}\mspace{14mu} {filter}\mspace{14mu} {gain}\mspace{14mu} L_{k}^{\theta}} = {\sum_{\overset{\sim}{\theta},k}^{-}{c_{k}\left( {\lambda + {c_{k}^{T}{\sum_{\overset{\sim}{\theta},k}^{-}c_{k}}}} \right)}^{- 1}}} & (22) \\ {{{State}\mspace{14mu} {measurement}\mspace{14mu} {update}\mspace{14mu} {\hat{x}}_{k}^{+}} = {{\hat{x}}_{k}^{-} + {L_{k}^{x}\left( {y_{k} - {\hat{y}}_{k}} \right)}}} & (23) \\ {{{Parameter}\mspace{14mu} {measurement}\mspace{14mu} {update}\mspace{14mu} {\hat{\theta}}_{k}^{+}} = {{\hat{\theta}}_{k}^{-} + {L_{k}^{\theta}\left( {d_{k} - {\hat{d}}_{k}} \right)}}} & (24) \\ {{{State}\mspace{14mu} {measurement}\mspace{14mu} {covariance}\mspace{14mu} {update}\sum_{\overset{\sim}{x},k}^{+}} = {\sum_{\overset{\sim}{x},k}^{-}{{- L_{k}^{x}}{\sum_{\overset{\sim}{y},k}\left( L_{k}^{x} \right)^{T}}}}} & (25) \\ {{{Parameter}\mspace{14mu} {measurement}\mspace{14mu} {covariance}\mspace{14mu} {update}\sum_{\overset{\sim}{\theta},k}^{+}} = {\frac{1}{\lambda}\left( {1 - {L_{k}^{\theta}c_{k}^{T}}} \right)\sum_{\hat{\theta},k}^{-}}} & (26) \end{matrix}$

There are various methods to select sigma-point weighting constants. In one exemplary implementation, central difference Kalman filtering (CDKF) is utilized, which is summarized below:

$\begin{matrix} \; & \gamma & \alpha_{0}^{(m)} & \alpha_{k}^{(m)} & \alpha_{0}^{(c)} & \alpha_{k}^{(c)} \\ {C\; D\; K\; F} & h & \frac{h^{2} - L}{h^{2}} & \frac{1}{2h_{2}} & \frac{h^{2} - L}{h^{2}} & \frac{1}{2h^{2}} \end{matrix}$

Where h may take any positive value and L represents the state number. For Gaussian, h could equal the square root of 3.

Referring now to FIG. 4B, a flow diagram of a first method 440 of estimating battery system states/parameters is illustrated. This first method 440, for example, could correspond to the architecture 400 illustrated in FIG. 4A and discussed above. Variables to estimate are defined at 442 and divided for SPKF/RLS at 444. In a first branch, sigma-point calculation occurs at 446 and states are predicted at 448. State prediction co-variance is determined at 450 and state measurement prediction is performed at 454 based on input received at 452. State filter gain is determined at 458 based on information received at 456. State measurement covariance and measurement are updated at 460 and 462, respectively, after which a unit delay occurs at 464 and the process returns to 446. In a second branch, parameter prediction occurs at 466 and parameter measurement prediction occurs at 468. Parameter filter gain is determined at 470 based on the information received at 456 and used to update parameter measurement and measurement covariance at 472 and 474, respectively. A unit delay occurs at 476 and then the parameter prediction covariance is determined at 476, which is fed back into the related update block 474.

Referring now to FIG. 5A, a functional block diagram of a second example architecture 500 for the mixed SPKF-RLS technique is illustrated. This architecture 500 represents a multi-scale version of the SPKF-RLS technique and thus may also be referred to as a multi-scale mixed or dual SPKF-RLS technique. The architecture generally includes RLS and SPKF time update blocks 504 and 508, respectively, SPKF and RLS time update blocks 512 and 532, respectively, micro and macro unit delays 528 and 536, respectively, as well as decision block 516 and time scale transform blocks 520, 524. The equation details for the architecture 500 are listed below. In one exemplary implementation, block 504 executes equations (28)-(29), block 508 executes equations (30)-(31), block 512 executes equations (32)-(35), block 520 executes equation (36), and block 532 executes equations (37)-(40).

$\begin{matrix} {{{{\begin{matrix} {{{{Initialization}\text{:}\mspace{14mu} {for}\mspace{14mu} k} = 0},{set}} & \; \end{matrix}{\hat{\theta}}_{0}^{+}} = {E\left\lbrack \theta_{0} \right\rbrack}}\mspace{329mu} {{\hat{x}}_{0,0}^{+} = {E\left\lbrack x_{0,0} \right\rbrack}}}\mspace{329mu} {\sum_{\overset{\_}{x},0,0}^{+}{= {E\left\lbrack {\left( {x_{0,0} - {\hat{x}}_{0,0}^{+}} \right)\left( {x_{0,0} - {\hat{x}}_{0,0}^{+}} \right)^{T}} \right\rbrack}}}\mspace{329mu} {\sum_{\overset{\sim}{\theta},0}^{+}{= {E\left\lbrack {\left( {\theta_{0} - {\hat{\theta}}_{0}^{+}} \right)\left( {\theta_{0} - {\hat{\theta}}_{0}^{+}} \right)^{T}} \right\rbrack}}}} & (27) \\ {{{Parameter}\mspace{14mu} {prediction}\mspace{14mu} {with}\mspace{14mu} {macro}\mspace{14mu} {scale}\mspace{14mu} {\hat{\theta}}_{k}^{-}} = {\hat{\theta}}_{k\text{-}1}^{+}} & (28) \\ {{{Parameter}\mspace{14mu} {prediction}\mspace{14mu} {covariance}\mspace{14mu} {with}\mspace{14mu} {macro}\mspace{14mu} {scale}\mspace{14mu} \sum_{\overset{\sim}{\theta},k}^{-}} = \sum_{\overset{\sim}{\theta},{k - 1}}^{+}} & (29) \\ {{State}\mspace{14mu} {prediction}\mspace{14mu} {with}\mspace{14mu} {micro}\mspace{14mu} {scale}\mspace{14mu} \left\{ \begin{matrix} {_{{k\text{-}1},{l - 1}}^{+} = \left\{ {x_{{k\text{-}1},{l\text{-}1}}^{+},{x_{{k\text{-}1},{l - 1}}^{+} + {\gamma \left( \sqrt{\sum_{\overset{\_}{x},{k\text{-}1},{l - 1}}^{+}} \right)}_{1{st}}},\ldots \mspace{14mu},{{\hat{x}}_{{k\text{-}1},{l - 1}}^{+} + {\gamma\left( {{\sqrt{\sum_{\overset{\_}{x},k}^{+}}{\hat{x}}_{{k\text{-}1},{l\text{-}1}}^{+}} -} \right.}}} \right.} \\ \left. \mspace{146mu} {{\gamma \left( \sqrt{\sum_{\overset{\sim}{x},{k\text{-}1},{l - 1}}^{+}} \right)}_{1{st}},\ldots \mspace{14mu},{x_{{k\text{-}1},{l - 1}}^{+} - {\gamma \left( \sqrt{\sum_{\overset{\_}{x},{k\text{-}1},{l - 1}}^{+}} \right)}_{pth}}} \right\} \\ {_{{k\text{-}1},i,l}^{x, -} = {f\left( {_{{k\text{-}1i},{l - 1}}^{+},{\hat{\theta}}_{k\text{-}1}^{+},{{u_{{k\text{-}1},{l - 1}}k} - 1},{l - 1}} \right)}} \\ {{\hat{x}}_{{k\text{-}1},l}^{-} = {\sum_{i = 0}^{2\mspace{11mu} p}{a_{i}^{(m)}_{{k\text{-}1},i,l}^{+}}}} \end{matrix} \right.} & (30) \\ {{{State}\mspace{14mu} {prediction}\mspace{14mu} {covariance}\mspace{14mu} {with}\mspace{14mu} {micro}\mspace{14mu} {scale}\mspace{14mu} \sum_{\overset{\sim}{x},{k\text{-}1},l}^{-}} = {{\sum_{i = 0}^{2p}{{\alpha_{i}^{(c)}\left( {_{{k\text{-}1},i,l}^{x, -} - {\hat{x}}_{{k\text{-}1},l}} \right)}\left( {_{{k\text{-}1},i,l}^{x, -} - {\hat{x}}_{{k\text{-}1},l}^{-}} \right)^{T}}} + Q}} & (31) \\ {{State}\mspace{14mu} {measurement}\mspace{14mu} {prediction}\mspace{14mu} {with}\mspace{14mu} {micro}\mspace{11mu} {scale}\mspace{14mu} \left\{ \begin{matrix} {Y_{{k\text{-}1},i,l} = {h\left( {_{{k\text{-}1},i,l}^{, -},u_{{k\text{-}1},l},{\hat{\theta}}_{k}^{-},{k - 1},l} \right)}} \\ {{\hat{y}}_{{k\text{-}1},l} = {\sum\limits_{i = 0}^{2p}{\alpha_{i}^{(m)}Y_{{k\text{-}1},i,l}}}} \end{matrix} \right.} & (32) \\ {{State}\mspace{14mu} {filter}\mspace{14mu} {gain}\mspace{14mu} {with}\mspace{14mu} {micro}\mspace{14mu} {scale}\mspace{14mu} \left\{ \begin{matrix} {\sum_{\overset{.}{y},{k\text{-}1},l}{= {{\sum\limits_{i = 0}^{2p}{{\alpha_{i}^{(c)}\left( {Y_{{k\text{-}1},i,l} - {\hat{y}}_{{k\text{-}1},l}} \right)}\left( {Y_{{k\text{-}1},i,l} - {\hat{y}}_{{k\text{-}1},l}} \right)^{T}}} + R}}} \\ {\sum_{\overset{\sim}{xy},{k\text{-}1},l}{= {\sum\limits_{i = 0}^{2p}{{\alpha_{i}^{(c)}\left( {_{{k\text{-}1},i,l}^{x, -} - {\hat{x}}_{{k\text{-}1},l}^{-}} \right)}\left( {Y_{{k\text{-}1},i,l} - {\hat{y}}_{{k\text{-}1},l}} \right)^{T}}}}} \\ {L_{{k\text{-}1},l}^{x} = {\sum_{\overset{\sim}{xy},{k\text{-}1},l}\sum_{\overset{\sim}{y},{k\text{-}1},l}^{- 1}}} \end{matrix} \right.} & (33) \\ {{{State}\mspace{14mu} {measurement}\mspace{14mu} {update}\mspace{14mu} {with}\mspace{14mu} {micro}\mspace{14mu} {scale}\mspace{14mu} {\hat{x}}_{{k\text{-}1},l}^{+}} = {{\hat{x}}_{{k\text{-}1},l}^{-} + {L_{{k\text{-}1},l}^{x}\left( {y_{{k\text{-}1},l} - {\hat{y}}_{{k\text{-}1},l}} \right)}}} & (34) \\ {{{State}\mspace{14mu} {measurement}\mspace{14mu} {covariance}\mspace{14mu} {update}\mspace{14mu} {with}\mspace{14mu} {micro}\mspace{14mu} {scale}\mspace{14mu} \sum_{\overset{\sim}{x},{k\text{-}1},l}^{+}} = {\sum_{\overset{\sim}{x},{k\text{-}1},l}^{-}{{- L_{{k\text{-}1},l}^{x}}{\sum_{\overset{\sim}{y},{k\text{-}1},l}\left( L_{{k\text{-}1},l}^{x} \right)^{T}}}}} & (35) \\ {{{{Time}\mspace{14mu} {scale}\mspace{14mu} {transform}\mspace{14mu} {when}\mspace{14mu} l} = {{L\mspace{14mu} {\hat{x}}_{k,0}^{+}} = {\hat{x}}_{{k - 1},L}^{+}}},{\sum_{\overset{\sim}{x},k,0}^{+}{= \sum_{\overset{\sim}{x},{k\text{-}1},L}^{+}}}} & (36) \\ {{{Parameter}\mspace{14mu} {measurement}\mspace{14mu} {prediction}\mspace{14mu} {with}\mspace{14mu} {macro}\mspace{14mu} {scale}\mspace{20mu} {\hat{d}}_{k}} = {c_{k}^{T}{\hat{\theta}}_{k}^{-}}} & (37) \\ {{{Parameter}\mspace{14mu} {filter}\mspace{14mu} {gain}\mspace{14mu} {with}\mspace{14mu} {macro}\mspace{14mu} {scale}\mspace{14mu} L_{k}^{\theta}} = {\sum_{\overset{\sim}{\theta},k}^{-}{c_{k}\left( {\lambda + {c_{k}^{T}{\sum_{\overset{\sim}{\theta},k}^{-}c_{k}}}} \right)}^{- 1}}} & (38) \\ {{{Parameter}\mspace{14mu} {measurement}\mspace{14mu} {update}\mspace{14mu} {with}\mspace{14mu} {macro}\mspace{14mu} {scale}\mspace{20mu} {\hat{\theta}}_{k}^{+}} = {{\hat{\theta}}_{k}^{-} + {L_{k}^{\theta}\left( {d_{k} - {\hat{d}}_{k}} \right)}}} & (39) \\ {{{Parameter}\mspace{14mu} {measurement}\mspace{14mu} {covariance}\mspace{14mu} {update}\mspace{14mu} {with}\mspace{14mu} {macro}\mspace{14mu} {scale}\mspace{14mu} \sum_{\overset{\sim}{\theta},k}^{+}} = {\frac{1}{\lambda}\left( {1 - {L_{k}^{\theta}c_{k}^{T}}} \right)\sum_{\hat{\theta},k}^{-}}} & (40) \end{matrix}$

Referring now to FIG. 5B, a flow diagram of a second method 540 of estimating battery system states/parameters is illustrated. This second method 540, for example, could correspond to the second architecture 500 illustrated in FIG. 5A and discussed above. Since the capacity changes very slowly, it is sufficient to be recalibrated once at several days or weeks, and thus it can be updated at each macro time-step. Variables to estimate are defined at 542 and divided for SPKF and RLS at 544. In a first branch, SPKF is performed at an SPKF rate at 546. Inputs to 546 included tuned filter matrices (548), a micro time-step (550), state-space batter model matrices and vectors (554), and a micro unit delay (558). Voltage, current, and temperature measurements are obtained at 552 and fed into 554 along with fixed battery model parameters obtained at 556. The micro unit delay at 558 is obtained by up-sampling an output of an RLS block (562) at 560. In a second branch, RLS is performed at an RLS rate at 562. The SPKF rate will generally be faster than the RLS rate, but it will be appreciated that RLS could be performed more often than SPKF. Inputs to the RLS block 562 include a macro time-scale (568), a tuned forgetting factor (566), and a macro unit delay (568). The macro unit delay at 568 is obtained by down-sampling the output of the SPKF block (546) at 570. The outputs of both the SPKF block 546 and the RLS block 562 are reported at 564 and used, for example, to calculate other values (SOH, SOP, etc.).

The following Tables 1-2 provide further evidence as to the decreased computational complexity and easier tuning of the mixed or dual SPKF-RLS techniques (both single time interval and multi-scale) according to the present disclosure. As can be seen, the computational complexity is orders of magnitude smaller for these techniques compared to other techniques and there are also many fewer tunable variables.

TABLE 1 Example Computational Complexity Comparison # of state Computational Complexity^(a) and Dual Multi-scale Dual parameters Joint Dual SPKF-RLS^(b) SPKF-RLS^(c) variables SPKF^(b) SPKF^(b) (proposed) (proposed) 4 640 160 120 84 6 2160 540 360 279 8 5120 1280 800 656 10 10000 2500 1500 1275 n f · n³ 2 · f · (n − 1)² f · ((n − 1)² + f₁ · (n − 1)² + (n − 1)³) f₂ · (n − 1)³ ^(a)same number of state and parameter variables, each n_(s) = n_(p) = n/2 ^(b)same state/parameter estimation frequency of f = 10 ^(c)state estimation frequency f₁ = 10, parameter estimation frequency f₂ = 1

TABLE 2 Example Comparison of Number Tunable Time-Varying Filter Variables # of state and Number of Tunable Time-Varying Filter Variables * parameters Joint Dual Dual SPKF-RLS variables SPKF SPKF (proposed) 2 5 3 3 4 17 9 6 6 37 19 11 8 65 33 18 10 101 51 27 n n² + 1 2(n − 1)² + 1 (n − 1)² + 2 * same number of state and parameter variables, each n_(s) = n_(p) = n/2

It should be understood that the mixing and matching of features, elements, methodologies and/or functions between various examples may be expressly contemplated herein so that one skilled in the art would appreciate from the present teachings that features, elements and/or functions of one example may be incorporated into another example as appropriate, unless described otherwise above. 

1. A battery management system for an electrified powertrain of a hybrid vehicle, the system comprising: one or more sensors configured to measure voltage, current, and temperature for a battery system of the hybrid vehicle; and a controller configured to: obtain an equivalent circuit model for the battery system; determine a set of states for the battery system to be estimated; determine a set of parameters for the battery system to be estimated; receive, from the one or more sensors, the measured voltage, current, and temperature for the battery system; and using fp the equivalent circuit model, (ii) the measured voltage, current, and temperature of the battery system, and (iii) a mixed sigma-point Kalman filtering (SPKF) and recursive least squares (RLS) technique to estimate the sets of states and parameters for the battery system; and using the sets of estimated states and parameters for the battery, system to control an electric motor of the electrified powertrain.
 2. The system of claim , wherein the controller is configured to estimate: the set of states for the battery system using an SPKF technique; and the set of parameters for the battery system using an RLS technique.
 3. The system of claim 2, wherein the controller is further configured to estimate: the set of parameters for the battery system estimated using the RLS technique are an input for the SPKF technique; and the set of states for the battery system estimated using the SPKF technique are an input for the RLS technique.
 4. The system of claim 1, wherein the set of states includes at least one of a state of charge (SOC) of the battery system and a voltage of the battery system.
 5. The system of claim 2, wherein the SPKF technique and the RLS technique are both configured to estimate a particular state or parameter for the battery system, and wherein the controller is configured to estimate the particular state or parameter of the battery system based on at least one of these estimates.
 6. The system of claim 5, wherein the controller is further configured to calculate a covariance indicative of a confidence in each estimate of the particular state or parameter for the battery system, wherein the controller is configured to utilize the covariance in estimating the particular state or parameter of the battery system.
 7. The system of claim 5, wherein the controller is configured to estimate the particular state or parameter for the battery system based on an average of the estimates from the SPKF and RLS techniques.
 8. The system of claim 2, wherein the controller is configured to estimate the set of parameters for the battery system using the RLS technique based further on a tuned forgetting factor.
 9. The system of claim 1, wherein the set of parameters includes at least one of a resistance and a charge/discharge time constant for the battery system.
 10. The system of claim 1, wherein the equivalent circuit model is an asymmetric equivalent circuit model having charge/discharge asymmetry.
 11. The system of claim 2, wherein the controller is further configured to: obtain an SPKF rate at which to perform the SPKF technique; obtain an RLS rate at which to perform the RLS technique; and estimate the sets of states and parameters for the battery system using the SPKF and RLS techniques according to their respective rates.
 12. The system of claim 10, wherein the SPKF rate is greater than the RLS rate.
 13. The system of claim 1, wherein the controller is further configured to estimate at least one of a state of power (SOP) and a state of health (SOH) for the battery system based on the sets of estimated states and parameters.
 14. The system of claim 1, wherein the controller is configured to control the electric motor based further on the at least one of the SOP and the SOH for the battery system.
 15. The system of claim 1, wherein: the hybrid vehicle comprises an engine; and the controller is configured to coordinate control of the engine and the electric motor based on the estimated states/parameters to maximize usage of the electric motor. 